gtk4.git
6 years agocell renderer spin: Drop the priv pointer
Matthias Clasen [Mon, 27 May 2019 00:37:42 +0000 (20:37 -0400)]
cell renderer spin: Drop the priv pointer

6 years agocell renderer spin: Make final
Matthias Clasen [Mon, 27 May 2019 00:35:26 +0000 (20:35 -0400)]
cell renderer spin: Make final

6 years agocell renderer spinner: Drop priv pointer
Matthias Clasen [Mon, 27 May 2019 00:33:38 +0000 (20:33 -0400)]
cell renderer spinner: Drop priv pointer

6 years agocell renderer spinner: Make final
Matthias Clasen [Mon, 27 May 2019 00:30:04 +0000 (20:30 -0400)]
cell renderer spinner: Make final

6 years agocell renderer text: Drop the priv pointer
Matthias Clasen [Mon, 27 May 2019 00:27:36 +0000 (20:27 -0400)]
cell renderer text: Drop the priv pointer

6 years agocell renderer text: Use standard padding
Matthias Clasen [Mon, 27 May 2019 00:21:50 +0000 (20:21 -0400)]
cell renderer text: Use standard padding

6 years agocell renderer toggle: Drop the priv pointer
Matthias Clasen [Mon, 27 May 2019 00:20:11 +0000 (20:20 -0400)]
cell renderer toggle: Drop the priv pointer

6 years agocell renderer toggle: Make final
Matthias Clasen [Mon, 27 May 2019 00:17:15 +0000 (20:17 -0400)]
cell renderer toggle: Make final

6 years agocell renderer combo: Drop the priv pointer
Matthias Clasen [Mon, 27 May 2019 00:12:40 +0000 (20:12 -0400)]
cell renderer combo: Drop the priv pointer

6 years agocell renderer combo: Make final
Matthias Clasen [Mon, 27 May 2019 00:07:53 +0000 (20:07 -0400)]
cell renderer combo: Make final

6 years agocell renderer accel: Drop the priv pointer
Matthias Clasen [Sun, 26 May 2019 23:51:49 +0000 (19:51 -0400)]
cell renderer accel: Drop the priv pointer

6 years agocell renderer accel: Make final
Matthias Clasen [Sun, 26 May 2019 23:47:04 +0000 (19:47 -0400)]
cell renderer accel: Make final

6 years agocell renderer: Use standard padding
Matthias Clasen [Sun, 26 May 2019 23:35:24 +0000 (23:35 +0000)]
cell renderer: Use standard padding

6 years agocalendar: Drop the priv pointer
Matthias Clasen [Sun, 26 May 2019 23:20:26 +0000 (19:20 -0400)]
calendar: Drop the priv pointer

6 years agocalendar: Make final
Matthias Clasen [Sun, 26 May 2019 22:56:56 +0000 (18:56 -0400)]
calendar: Make final

6 years agospinner: Make final
Matthias Clasen [Sun, 26 May 2019 22:50:49 +0000 (18:50 -0400)]
spinner: Make final

6 years agoprogress bar: Make final
Matthias Clasen [Sun, 26 May 2019 22:49:21 +0000 (18:49 -0400)]
progress bar: Make final

6 years agoprint operation: Drop the priv pointer
Matthias Clasen [Sun, 26 May 2019 22:38:19 +0000 (18:38 -0400)]
print operation: Drop the priv pointer

6 years agoprint operation: Use standard class padding
Matthias Clasen [Sun, 26 May 2019 22:24:37 +0000 (22:24 +0000)]
print operation: Use standard class padding

6 years agoRename gtkprintbackend.h to gtkprintbackendprivate.h
Matthias Clasen [Sun, 26 May 2019 21:57:23 +0000 (21:57 +0000)]
Rename gtkprintbackend.h to gtkprintbackendprivate.h

Follow the naming convention for private headers.

6 years agoprint job: Make final
Matthias Clasen [Sun, 26 May 2019 21:51:24 +0000 (17:51 -0400)]
print job: Make final

No need to subclass this.

6 years agoprinter: Drop the priv pointer
Matthias Clasen [Sun, 26 May 2019 20:46:58 +0000 (16:46 -0400)]
printer: Drop the priv pointer

6 years agoprinter: Make private
Matthias Clasen [Sun, 26 May 2019 20:35:55 +0000 (20:35 +0000)]
printer: Make private

We want to subclass this in print backends,
but we don't want to allow out-of-tree subclassing.

6 years agoRename gtkprinter-private.h
Matthias Clasen [Sun, 26 May 2019 20:29:57 +0000 (16:29 -0400)]
Rename gtkprinter-private.h

Name this header gtkprinterprivate.h, following
our convention for private headers.

6 years agostack switcher: Make final
Matthias Clasen [Sun, 26 May 2019 20:23:17 +0000 (16:23 -0400)]
stack switcher: Make final

This should not be subclassed.

6 years agostack sidebar: Make final
Matthias Clasen [Sun, 26 May 2019 20:19:44 +0000 (16:19 -0400)]
stack sidebar: Make final

This should not be subclassed.

6 years agoprint dialog: Drop the priv pointer
Matthias Clasen [Sun, 26 May 2019 20:08:01 +0000 (20:08 +0000)]
print dialog: Drop the priv pointer

6 years agoprint dialog: Make final
Matthias Clasen [Sun, 26 May 2019 19:55:04 +0000 (19:55 +0000)]
print dialog: Make final

Nobody should subclass this.

6 years agopage setup dialog: Drop the priv pointer
Matthias Clasen [Sun, 26 May 2019 19:43:41 +0000 (19:43 +0000)]
page setup dialog: Drop the priv pointer

6 years agopage setup dialog: Make final
Matthias Clasen [Sun, 26 May 2019 19:38:39 +0000 (19:38 +0000)]
page setup dialog: Make final

No subclassing needed.

6 years agoswitch: Make final
Matthias Clasen [Sun, 26 May 2019 19:34:31 +0000 (15:34 -0400)]
switch: Make final

This should not be subclassed.

6 years agoicon theme: Make final
Matthias Clasen [Sun, 26 May 2019 19:33:10 +0000 (15:33 -0400)]
icon theme: Make final

Nobody should subclass GtkIconTheme or GtkIconInfo.

6 years agotextview: Use standard padding
Matthias Clasen [Sun, 26 May 2019 19:25:46 +0000 (15:25 -0400)]
textview: Use standard padding

Given that GtkSourceView exists, we will have
to keep GtkTextView subclassable until a replacement
appears.

6 years agoviewport: Cleanup
Matthias Clasen [Sun, 26 May 2019 19:18:42 +0000 (15:18 -0400)]
viewport: Cleanup

6 years agoviewport: Make final
Matthias Clasen [Sun, 26 May 2019 19:16:00 +0000 (15:16 -0400)]
viewport: Make final

No need to derive from it.

6 years agoTrivial
Matthias Clasen [Sat, 25 May 2019 21:52:15 +0000 (21:52 +0000)]
Trivial

6 years agosurface: fix up docs
Matthias Clasen [Sat, 25 May 2019 20:46:41 +0000 (20:46 +0000)]
surface: fix up docs

The docs for gdk_surface_invalidate_region were
talking about a no-longer-existing argument.

6 years agocolor plane: Don't allocate 0-size textures
Matthias Clasen [Mon, 20 May 2019 12:49:56 +0000 (12:49 +0000)]
color plane: Don't allocate 0-size textures

This triggers critials, and does us no good.

6 years agoCosmetics
Matthias Clasen [Mon, 20 May 2019 05:04:17 +0000 (05:04 +0000)]
Cosmetics

6 years agorendernodeparser: Parse Cairo nodes
Benjamin Otte [Sat, 25 May 2019 22:50:13 +0000 (00:50 +0200)]
rendernodeparser: Parse Cairo nodes

We also print the script, but we don't parse it yet.

6 years agorendernode: Remove unused function
Benjamin Otte [Sat, 25 May 2019 21:50:46 +0000 (23:50 +0200)]
rendernode: Remove unused function

6 years agoinspector: Make updates overlay not crash
Benjamin Otte [Sat, 25 May 2019 20:30:29 +0000 (22:30 +0200)]
inspector: Make updates overlay not crash

... when a window gets hidden and later reshown.

The code now properly cleans up a window when it gets unmapped instead
of trying to retain previous updates information.

6 years agoRevert "wayland: Keep some resources until destroy"
Matthias Clasen [Sat, 25 May 2019 18:08:43 +0000 (18:08 +0000)]
Revert "wayland: Keep some resources until destroy"

This reverts commit f2d598b9a19cd7151c592e9c74d5b0d0ba3c9e48.

6 years agowidget-factory: Add some animation in a popover
Matthias Clasen [Fri, 24 May 2019 11:38:54 +0000 (11:38 +0000)]
widget-factory: Add some animation in a popover

6 years agobroadway: add frame times to the profiler
Matthias Clasen [Fri, 24 May 2019 11:18:31 +0000 (11:18 +0000)]
broadway: add frame times to the profiler

6 years agofishbowl: Add a menubutton demo
Matthias Clasen [Fri, 24 May 2019 00:31:07 +0000 (00:31 +0000)]
fishbowl: Add a menubutton demo

This reveals some issues with the position tracking.

6 years agomenu button: Add popup/popdown functions
Matthias Clasen [Fri, 24 May 2019 00:30:39 +0000 (00:30 +0000)]
menu button: Add popup/popdown functions

These are needed, after all.

6 years agofishbowl: Fix the lock button
Matthias Clasen [Fri, 24 May 2019 00:11:23 +0000 (00:11 +0000)]
fishbowl: Fix the lock button

6 years agogl renderer: Make creating render targets easier
Timm Bäder [Wed, 22 May 2019 05:10:57 +0000 (07:10 +0200)]
gl renderer: Make creating render targets easier

6 years agogl renderer: Remove some unused api form the GLDriver
Timm Bäder [Wed, 22 May 2019 04:55:45 +0000 (06:55 +0200)]
gl renderer: Remove some unused api form the GLDriver

6 years agofishbowl: Don't show ridiculous precision
Matthias Clasen [Thu, 23 May 2019 12:37:47 +0000 (12:37 +0000)]
fishbowl: Don't show ridiculous precision

Two decimals are more than enough for the frame rate.

6 years agoMerge branch 'issue1901-gtk4' into 'master'
Matthias Clasen [Wed, 22 May 2019 11:42:54 +0000 (11:42 +0000)]
Merge branch 'issue1901-gtk4' into 'master'

wayland: Use scale from core wl_output protocol

Closes #1901

See merge request GNOME/gtk!870

6 years agowayland: Use scale from core wl_output protocol
Olivier Fourdan [Wed, 22 May 2019 10:11:36 +0000 (12:11 +0200)]
wayland: Use scale from core wl_output protocol

The “xdg-output” protocol provides clients with the outputs size and
position in compositor coordinates, and does not provide the output
scale which is already provided by the core “wl_output” protocol.

So when receiving the wl_output scale event, we should update the scale
regardless of “xdg-output” support, otherwise the scale will remain to
its default value of 1 and the surface will be scaled up by the
compositor to match the actual output scale, which causes blurry fonts
and widgets.

Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/1901
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
6 years agogtk-demo: Reinstate flat menu buttons
Matthias Clasen [Tue, 21 May 2019 22:39:50 +0000 (22:39 +0000)]
gtk-demo: Reinstate flat menu buttons

6 years agowidget-factory: Reinstate flat menu buttons
Matthias Clasen [Tue, 21 May 2019 22:39:28 +0000 (22:39 +0000)]
widget-factory: Reinstate flat menu buttons

6 years agomenu button: Add a relief property
Matthias Clasen [Tue, 21 May 2019 22:39:03 +0000 (22:39 +0000)]
menu button: Add a relief property

This is used in various places.

6 years agotestscrolledwindow: GtkMenuButton != GtkContainer
Daniel Boles [Tue, 21 May 2019 20:19:40 +0000 (21:19 +0100)]
testscrolledwindow: GtkMenuButton != GtkContainer

It's not anymore, so don't cast it to one... Use the new :label instead.

6 years agotestsuite: Fix leak
Krzesimir Nowak [Tue, 21 May 2019 15:36:00 +0000 (17:36 +0200)]
testsuite: Fix leak

6 years agoMerge branch 'mkenums-once' into 'master'
Emmanuele Bassi [Tue, 21 May 2019 16:42:05 +0000 (16:42 +0000)]
Merge branch 'mkenums-once' into 'master'

Use g_once for all the mkenums template files

Closes #1617

See merge request GNOME/gtk!865

6 years agoUse g_once for all the mkenums template files
Federico Mena Quintero [Tue, 21 May 2019 15:32:08 +0000 (10:32 -0500)]
Use g_once for all the mkenums template files

Without this, initialization of enum/flags values from multithreaded
programs may not work correctly.

Fixes #1617.

6 years agoMerge branch 'win32-enable-werror' into 'master'
Benjamin Otte [Tue, 21 May 2019 14:39:53 +0000 (14:39 +0000)]
Merge branch 'win32-enable-werror' into 'master'

Win32 enable werror

See merge request GNOME/gtk!861

6 years agoMerge branch 'issue-302-master' into 'master'
Emmanuele Bassi [Tue, 21 May 2019 13:46:23 +0000 (13:46 +0000)]
Merge branch 'issue-302-master' into 'master'

docs: Fix the override for GdkAtom

Closes #302

See merge request GNOME/gtk!864

6 years agodocs: Fix the override for GdkAtom
Emmanuele Bassi [Tue, 21 May 2019 13:27:33 +0000 (14:27 +0100)]
docs: Fix the override for GdkAtom

GdkAtom is a typedef to a pointer to an opaque structure. We need to
tell GTK-Doc how to override it, so that the documentation is accurate.

Fixes: #302
6 years agogl renderer: Render recording surface untransformed
Timm Bäder [Tue, 21 May 2019 06:38:11 +0000 (08:38 +0200)]
gl renderer: Render recording surface untransformed

Cairo can't handle the y flip apparently.

Fixes #1906

6 years agogl glyphcache: Don't choke on huge glyphs
Timm Bäder [Mon, 20 May 2019 13:12:15 +0000 (15:12 +0200)]
gl glyphcache: Don't choke on huge glyphs

We blindly assume everywhere that a single glyph will definitely fit on
one atlas, but that's not always the case.
For now, don't crash or produce GL errors.

6 years agowidget: Don't always call get_display() when allocating
Timm Bäder [Mon, 20 May 2019 11:46:36 +0000 (13:46 +0200)]
widget: Don't always call get_display() when allocating

The GTK_DISPLAY_DEBUG_CHECK macro will cleverly only call the function
if any of the display debug flags are set, so in the common case it
won't even be executed.

6 years agowin32: Fix meson names for defines
Benjamin Otte [Tue, 21 May 2019 05:46:42 +0000 (07:46 +0200)]
win32: Fix meson names for defines

Those have been wrong forever, but nobody cares because they get to the
values we want anyway.

6 years agowin32: Enable --werror in CI
Benjamin Otte [Tue, 21 May 2019 05:26:25 +0000 (07:26 +0200)]
win32: Enable --werror in CI

6 years agowin32: Remove outdated workaround
Benjamin Otte [Tue, 21 May 2019 05:33:13 +0000 (07:33 +0200)]
win32: Remove outdated workaround

The function that was missing in 2016 does exist now.

Fixes gcc complaining about a wrong declaration.

6 years agotests: Use g_free(), not free()
Benjamin Otte [Tue, 21 May 2019 05:20:45 +0000 (07:20 +0200)]
tests: Use g_free(), not free()

Windows doesn't like that.

6 years agoimcontextime: Add missing semicolon
Benjamin Otte [Tue, 21 May 2019 05:18:50 +0000 (07:18 +0200)]
imcontextime: Add missing semicolon

I wonder how thoroughly this was tested... ;)

6 years agowin32: Add missing enum value to switch statement
Benjamin Otte [Tue, 21 May 2019 05:17:44 +0000 (07:17 +0200)]
win32: Add missing enum value to switch statement

6 years agoimcontextime: Remove unused variables
Benjamin Otte [Tue, 21 May 2019 05:17:31 +0000 (07:17 +0200)]
imcontextime: Remove unused variables

6 years agowin32: Rename a shadowing variable
Benjamin Otte [Tue, 21 May 2019 05:15:16 +0000 (07:15 +0200)]
win32: Rename a shadowing variable

6 years agowindow: Remove unneeded variable
Benjamin Otte [Tue, 21 May 2019 05:14:21 +0000 (07:14 +0200)]
window: Remove unneeded variable

The variable would show up as a gcc warning in builds without X11
support.

6 years agowin32: Actually pass y variable for y parameter
Benjamin Otte [Tue, 21 May 2019 05:11:03 +0000 (07:11 +0200)]
win32: Actually pass y variable for y parameter

6 years agowin32: Remove unused variables
Benjamin Otte [Tue, 21 May 2019 05:10:04 +0000 (07:10 +0200)]
win32: Remove unused variables

6 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Tue, 21 May 2019 05:22:41 +0000 (05:22 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

Wip/otte/for master

See merge request GNOME/gtk!860

6 years agotestsuite: Remove serialize-deserialize test
Benjamin Otte [Mon, 20 May 2019 01:38:45 +0000 (03:38 +0200)]
testsuite: Remove serialize-deserialize test

The serialize-deserialize test is completely handled via the new
nodeparser tests.

So move those tests over and delete the old test binary.

6 years agotestsuite: Add render tests for all the empty nodes
Benjamin Otte [Mon, 20 May 2019 01:32:30 +0000 (03:32 +0200)]
testsuite: Add render tests for all the empty nodes

Test that rendering empty nodes succees. For a lot of nodes the
resulting rendering isn't clearly defined, in those cases we overdraw
those regions (sometimes the whole image) with black.

6 years agotestuite: Improve compare-render binary
Benjamin Otte [Mon, 20 May 2019 01:29:11 +0000 (03:29 +0200)]
testuite: Improve compare-render binary

- Remove remains of g_test_*() functions
  We're not a glib test, we're a simple binary.
- Handle nonexistence of reference image properly
  Don't assert, but create the output image and the error out.

6 years agorendernode: Blur alpha channel for cairo blur node
Benjamin Otte [Mon, 20 May 2019 01:24:24 +0000 (03:24 +0200)]
rendernode: Blur alpha channel for cairo blur node

The blur node still doesn't properly blur with a transform, but at least
it now doesn't turn semi-transparent stuff black.

6 years agotestsuite: Add empty node tests
Benjamin Otte [Sun, 19 May 2019 19:34:13 +0000 (21:34 +0200)]
testsuite: Add empty node tests

For every node type, add a test that creates it empty and ensure that
it prints the reference output.

6 years agorendernodeparser: Allow parsing strings
Benjamin Otte [Sun, 19 May 2019 18:20:09 +0000 (20:20 +0200)]
rendernodeparser: Allow parsing strings

Instead of only allowing for glyph indexes, allow ASCII characters as
replacements. So this glyph sequence
  glyphs: 65 8, 66 8, 67 8
Can be replaced by
  glyphs: "ABC"
provided that the glyph for "A", "B" and "C" are 65, 66 and 67
respectively and their advance is exactly 8.
x offset and y offset must always be 0 and every glyph must start a
cluster.

6 years agorendernodeparser: Update to new rules
Benjamin Otte [Sat, 18 May 2019 21:06:34 +0000 (23:06 +0200)]
rendernodeparser: Update to new rules

Update to the docs outlined in #1887.

In particular, the changes do:

1. Require no property, have a working default for everything
2. Be clear about what gets printed and how.

Tests ahve been adapted to still pass.

6 years agorgba: Add GDK_RGBA() macro
Benjamin Otte [Tue, 14 May 2019 20:23:15 +0000 (22:23 +0200)]
rgba: Add GDK_RGBA() macro

So far it's private, but it's a pretty cute way to use hex colors, so we
might conside making it public.

6 years agorendernode: Take a graphene_point_t for the offset
Benjamin Otte [Sun, 19 May 2019 02:08:29 +0000 (04:08 +0200)]
rendernode: Take a graphene_point_t for the offset

... instead of 2 floats.

6 years agotestsuite: Redo node-parser
Benjamin Otte [Tue, 14 May 2019 01:20:09 +0000 (03:20 +0200)]
testsuite: Redo node-parser

Base the rewrite on testsuite/css/parser/test-css-parser - we now
require the node file to match a reference node and track the errors it
triggers.
We also no longer use gtester.

6 years agorendernodeparser: Skip root node when it's a container
Benjamin Otte [Tue, 14 May 2019 00:49:19 +0000 (02:49 +0200)]
rendernodeparser: Skip root node when it's a container

When printing, behave the same way as when parsing:
Magically skip a container node if there is one - just like the
parser magically creates a container node to hold all the nodes
it parses.

6 years agorendernodeparser: Allow single values instead of 4
Benjamin Otte [Mon, 13 May 2019 22:41:49 +0000 (00:41 +0200)]
rendernodeparser: Allow single values instead of 4

This allows writing:
  colors: red;
instead of
  colors: red red red red;
to draw a red border.

6 years agorendernodeparser: Print properties alphabetically
Benjamin Otte [Tue, 14 May 2019 01:11:33 +0000 (03:11 +0200)]
rendernodeparser: Print properties alphabetically

Because now we have a rule.

Also update some tests to the new order.

6 years agoglrenderer: Handle NULL debug messages
Benjamin Otte [Tue, 21 May 2019 03:41:06 +0000 (05:41 +0200)]
glrenderer: Handle NULL debug messages

6 years agogtk-demo: Fix menubutton usage in listbox demo
Matthias Clasen [Tue, 21 May 2019 00:03:25 +0000 (00:03 +0000)]
gtk-demo: Fix menubutton usage in listbox demo

Menu buttons are no longer buttons, so they
can't have children, and don't have a relief
property.

6 years agoinspector: Don't apply button api to menu buttons
Matthias Clasen [Mon, 20 May 2019 23:33:07 +0000 (23:33 +0000)]
inspector: Don't apply button api to menu buttons

6 years agogl renderer: Pass correct matrix category when rendering offscreen
Timm Bäder [Mon, 20 May 2019 10:10:12 +0000 (12:10 +0200)]
gl renderer: Pass correct matrix category when rendering offscreen

We can't just pretend we have an identity matrix when we are actually
scaling. This fixes the node editor sometimes not drawing things when
rendering to a texture. We were mistakenly discaring render nodes
because the bounds transformation was wrong.

6 years agogl renderer: Delete render_texture framebuffer
Timm Bäder [Mon, 20 May 2019 09:08:50 +0000 (11:08 +0200)]
gl renderer: Delete render_texture framebuffer

6 years agogl renderer: A GdkGLTexture's context might be NULL
Timm Bäder [Mon, 20 May 2019 07:33:55 +0000 (09:33 +0200)]
gl renderer: A GdkGLTexture's context might be NULL

gdk_gl_texture_download ought to still work, but we can't make a NULL
context current obviously.

6 years agogl renderer: Really fix gl debugging code
Timm Bäder [Mon, 20 May 2019 06:47:41 +0000 (08:47 +0200)]
gl renderer: Really fix gl debugging code

Properly label an object and make sure we have the right gl context even
after a gdk_gl_context_end_frame call.

6 years agobuilder-tool: Remove debug spew
Matthias Clasen [Sun, 19 May 2019 23:52:57 +0000 (23:52 +0000)]
builder-tool: Remove debug spew

6 years agox11: Remove to unused settings
Matthias Clasen [Sun, 19 May 2019 21:12:37 +0000 (17:12 -0400)]
x11: Remove to unused settings

We no longer have settings for gtk-button-images
or gtk-menu-images.